
#pragma once

#include "NodalBC.h"

class PostprocessorNormalVelocityBC;

template <>
InputParameters validParams<PostprocessorNormalVelocityBC>();

/**
 * Boundary condition of a Dirichlet type
 *
 * Sets the value at the node to the value of a Postprocessor
 */
class PostprocessorNormalVelocityBC : public NodalBC
{
public:
	static InputParameters validParams();

	PostprocessorNormalVelocityBC(const InputParameters& parameters);

protected:
	virtual Real computeQpResidual() override;
	int _component;
	const  VariableValue& _nx;
	const  VariableValue& _ny;
	const  VariableValue& _nz;
	const  VariableValue& _oldu;
	/// The value for this BC
	const PostprocessorValue& _postprocessor_value;
	
};
